/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ve.terminal.controlador;

import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import ve.terminal.excepciones.BaseDeDatosExcepcion;
import ve.terminal.excepciones.ConexionExcepcion;
import ve.terminal.gui.VentanaAvisos;
import ve.terminal.modelo.MTipoServicio;
import ve.terminal.modelo.MTipoPago;
import ve.terminal.modelo.MSeguro;
import ve.terminal.modelo.MTipoExceso;
import ve.terminal.modelo.MTipoCliente;
import ve.terminal.modelo.MConductor;
import ve.terminal.modelo.MDestino;

/**
 *
 * @author Jesus Graterol
 */
public class MediadorTerminal {
    
    public boolean saveTipoServicio(int codigo, String nombre){
        boolean guardado=false;
        MTipoServicio tipoServicio = new MTipoServicio(codigo, nombre);
        try {
            guardado = tipoServicio.save();
        } catch (ConexionExcepcion ex) {
            VentanaAvisos.mensajeError("Error", ex.getMensaje());
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            VentanaAvisos.mensajeError("Error", ex.getMensaje());
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
    
    public boolean saveTipoPago(int codigo, String nombre, boolean defecto){
        boolean guardado=false;
        MTipoPago tipoPago = new MTipoPago(codigo, nombre, defecto);
        try {
            guardado = tipoPago.save();
        } catch (ConexionExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
    
    public boolean saveSeguro(int codigo, String nombre, float precio){
        boolean guardado=false;
        MSeguro seguro = new MSeguro(codigo, nombre, precio);
        try {
            guardado = seguro.save();
        } catch (ConexionExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
    
    public boolean saveTipoExceso(long codigo, String nombre, float costoUnidad){
        boolean guardado=false;
        MTipoExceso tipoExceso = new MTipoExceso(codigo, nombre, costoUnidad);
        try {
            guardado = tipoExceso.save();
        } catch (ConexionExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
    
    public boolean saveTipoCliente(long codigo, String nombre, float descuento){
        boolean guardado=false;
        MTipoCliente tipoCliente = new MTipoCliente(codigo, nombre, descuento);
        try {
            guardado = tipoCliente.save();
        } catch (ConexionExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
    
    public boolean saveConductor(long codigo, String cedula, String nombre, String apellido,
                                 String status, String numeroLicencia, Date fechaVencimiento){
        boolean guardado=false;
        MConductor conductor = new MConductor(codigo, cedula, nombre, apellido, status,
                                              numeroLicencia, fechaVencimiento);
        try {
            guardado = conductor.save();
        } catch (ConexionExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
    
     public boolean saveDestino(long codigo, String nombre){
        boolean guardado=false;
        MDestino destino = new MDestino(codigo, nombre);
        try {
            guardado = destino.save();
        } catch (ConexionExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BaseDeDatosExcepcion ex) {
            Logger.getLogger(MediadorTerminal.class.getName()).log(Level.SEVERE, null, ex);
        }
        return guardado;
    }
}
